Integrating Independently-Developed Components in Object-Oriented Languages
نویسنده
چکیده
Object-oriented programming promises to increase programmer productivity through better reuse of existing code. However, reuse is not yet pervasive in today’s object-oriented programs. Why is this so? We argue that one reason is that current programming languages and environments assume that components are perfectly coordinated. Yet in a world where programs are mostly composed out of reusable components, these components are not likely to be completely integrated because the sheer number of components would make global coordination impractical. Given that seemingly minor inconsistencies between individually designed components would exist, we examine how they can lead to integration problems with current programming language mechanisms. We discuss several reuse mechanisms that can adapt a component in place without requiring access to the component’s source code and without needing to re-typecheck it.
منابع مشابه
Integration of Independently Developed Components through Aliased Multi-Object Type Widening
The aim of component-based software development is to assemble applications from existing components, writing as little extra code as possible. For programmers, the assembling of applications from existing components should increase reuse, thus allowing them to concentrate on value-added tasks and to produce high-quality software within a shorter time. For users, component-based software develo...
متن کاملIntegrating Interface Assertion Checkers into Component Models
Run-time enforcement of behavioral contracts has been studied extensively in procedural and object-oriented languages. This research has led to a better understanding of specific techniques, including pre-processing compilers or wrappers. However, component-based software engineering (CBSE) imposes additional restrictions and it is appropriate to consider how to extend these techniques when the...
متن کاملIntegrating Answer Set Programming with Object-Oriented Languages
Answer Set Programming (ASP) is a declarative programming paradigm which allows for easy modeling and solving of hard problems that are often cumbersome to implement in object-oriented programming languages. It was successfully applied to a range of applications from artificial intelligence, such as combinatorial or scheduling problems. On the other hand, real-world applications for end-users u...
متن کاملBridging the Gap between Object-Oriented Development Practices and Software Component Reuse
Although component-based software reuse is not a particularly novel idea, little is still known about what makes software reusable. Most of the numerous component models developed in recent years define some notation for describing components and argue for a repository that can be used to collect and identify reusable components. However, as we discuss in this position paper, there is a clear g...
متن کاملAspect-Oriented Language Mechanisms for Component Binding
Domain Specific Languages (DSLs) are programming languages customized for a problem/solution domain, which allow development of software modules in high-level specifications. Code generation is a common practice for making DSL programs executable: A DSL specification is transformed to a functionally equivalent GPL (general-purpose programing language) representation. Integrating the module gene...
متن کامل